Exception Handling in Open Multithreaded Transactions
نویسنده
چکیده
This paper describes a model for providing transaction support for object-oriented concurrent programming languages. In order to achieve seamless integration, the use of the concurrency features provided by the programming language should not be restricted inside a transaction. A transaction model that meets this requirement is presented. Threads inside such a transaction may spawn new threads, but also external threads are allowed to join an ongoing transaction. A blocking commit protocol ensures that no thread leaves the transaction before its outcome has been determined. Exceptions are used to inform all participants in case a transaction aborts.
منابع مشابه
Open Multithreaded Transactions: Keeping Threads and Exceptions under Control
Although transactional models have proved to be very useful for numerous applications, the development of new models to reflect the ever-increasing complexity and diversity of modern applications is a very active area of research. Analysis of the existing models of multithreaded transactions shows that they either give too much freedom to threads and do not control their participation in transa...
متن کاملAuction System Design Using Open Multithreaded Transactions
Open Multithreaded Transactions form an advanced transaction model that provides features for controlling and structuring not only accesses to objects, as usual in transaction systems, but also threads taking part in transactions. The model allows several threads to enter the same transaction in order to perform a joint activity. It provides a flexible way of manipulating threads executing insi...
متن کاملOpen Multithreaded Transactions: A Transaction Model for Concurrent Object-Oriented Programming
Modern programming languages provide features that allow a programmer to express concurrency in an application by using active objects, i.e. objects with their own thread of control, and distribution. Concurrent systems can be classified into cooperative systems, where individual components collaborate, share results and work for a common goal, and competitive systems, where the individual comp...
متن کاملThe Use of Multithreading for Exception Handling Craig
Figure 1. Traditional vs. Multithreaded Exception Handling. Six instructions have been fetched when an exception is detected on the fourth. Traditionally (a), instructions 4-6 are squashed and must be refetched after the exception handler is fetched. With our multithreaded mechanism (b), a second thread fetches the exception handler (AD), and then the main thread continues to fetch (7,8). The e...
متن کاملException Analysis for Multithreaded Java Programs
This paper presents a static analysis that estimates uncaught exceptions in multithreaded Java programs. In Java, throwing exceptions across threads is deprecated because of the safety problem. Instead of restricting programmers’ freedom, we extend Java language to support multithreaded exception handling and propose a tool to detect uncaught exceptions in the input programs. Our analysis consi...
متن کامل